若f(x)=x^3 + 3ax^2 + 3(a+2)x + 1有极大值和极小值,则a的取值范围是?